Conventional data storage drives (e.g., hard drives) can fail in a variety ways, potentially causing data loss. For example, a drive can fail in its entirety so that no data can be read from the drive. As another example, a sector on a drive can become unreadable such that data cannot be read correctly from that specific sector. As still another example, multiple contiguous or non-contiguous sectors on a drive can become unreadable. Some techniques have been used to facilitate recovery of data in the event of a drive failure. For example, data storage drives can include an Error Correcting Code (“ECC”) for each drive sector to facilitate recovery of data from that sector when there is an error. However, for sector errors where the entire sector is unreadable (e.g., the sector data and ECC are not readable), the ECC cannot be used to recover the data from the sector.
Another technique is to place drives in a RAID configuration. For example, if one of the drives in a RAID 1, 3, 4, or 5 array fails in its entirety, the data from the failed drive can be recovered using the data on the remaining drives in the array. However, recovering the data on the failed drive can require that each sector on the remaining drives in the array can be read. Therefore, when a drive in the RAID array fails and there are one or more unrecoverable sectors on the remaining drives (e.g., the sector data cannot be recovered using the ECC), the data from the failed drive can be unrecoverable.